package com.htthorizon.powersupply.domain;

import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class RealTimePowerOutage {

    private Long id;

    /**
     * 台区编号
     */
    private String tgNo;

    /**
     * 线路编号
     */
    private String lineNo;

    /**
     * 停电开始时间 (Start Date)
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sd;

    /**
     * 停电结束时间 (End Date)
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date ed;

    /**
     * 最近一次停电开始时间 (Last Start Date)
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastSd;

    /**
     * 故障表计数
     */
    private String faultCons;

    /**
     * 停电范围（分钟）
     */
    private int poweroffRange;

    /**
     * 台区表计数
     */
    private String tgConsNum;

    /**
     * 线路名称
     */
    private String lineNm;

    /**
     * 线路台区数量
     */
    private String lineTgNum;

    /**
     * 台区机构编号
     */
    private String tgOrgNo;

    /**
     * 台区机构名称
     */
    private String tgOrgNm;

    /**
     * 区县机构编号
     */
    private String contyOrgNo;

    /**
     * 区县机构名称
     */
    private String contyOrgNm;

    /**
     * 城市机构编号
     */
    private String cityOrgNo;

    /**
     * 城市机构名称
     */
    private String cityOrgNm;

    /**
     * 是否有 HPLC 标志
     */
    private Boolean hplcTgFlg;

    /**
     * 台区名称
     */
    private String tgNm;

    /**
     * 公变/专变标识
     */
    private String pubPrivDsc;

    /**
     * 线路表计数
     */
    private int lineConsNum;

    /**
     * 停电时长（毫秒）
     */
    private long downtime;

    /**
     * 数据有效性标志
     */
    private int isvalid;

    private String dataDt;


}